#region history
//************************************************************************************
// 20080103/WMB/LinePosition.cs created for Mitosoft.
// 
// Remarks, Restrictions
// ===================================================================================
//
//************************************************************************************
#endregion

#region using declarations
#endregion

namespace Mitosoft.TextFileReader {
  
  /// <summary>
  /// Represents a position of a line in a text file.
  /// </summary>
  public class LinePosition : ILinePosition {

    #region Fields
    protected ulong _lineNumber;
    protected ulong? _positionInTheFile = 0;
    #endregion

    #region Constructor(s)
    
    /// <summary>
    /// Creates an instance of a LinePosition object
    /// </summary>
    /// <param name="lineNumber">Line number. Should be unique.</param>
    /// <param name="positionInTheFile">Position of the line inside a file.</param>
    public LinePosition(ulong lineNumber, ulong? positionInTheFile) {
      LineNumber = lineNumber;
      PositionInTheFile = positionInTheFile;
    }
    
    #endregion

    #region Properties

    /// <summary>
    /// Represents the line number
    /// </summary>
    public ulong LineNumber {
      get { return _lineNumber; }
      set { _lineNumber = value; }
    }

    /// <summary>
    /// Represents the position of the line
    /// in a file.
    /// </summary>
    public ulong? PositionInTheFile {
      get { return _positionInTheFile; }
      set { _positionInTheFile = value; }
    }

    #endregion

    #region Methods
    #endregion
    
  }
}
